package com.ruoyi.tt.mapper;

import java.util.List;

import com.ruoyi.tt.domain.TtArticle;
import com.ruoyi.tt.domain.dto.ArticleSearchDto;
import com.ruoyi.tt.domain.vo.ArticleDetailVO;
import com.ruoyi.tt.domain.vo.ArticleVO;
import org.apache.ibatis.annotations.Param;

/**
 * 文章管理Mapper接口
 *
 * @author 梁静茹
 * @date 2022-10-17
 */
public interface TtArticleMapper {

    /**
     * 根据文章id获取文章详情
     *
     * @param articleId
     * @return
     */
    public ArticleDetailVO getArticleDetailByArticleId(Integer articleId);

    /**
     * 查询文章管理
     *
     * @param id 文章管理主键
     * @return 文章管理
     */
    public TtArticle selectTtArticleById(Long id);

    /**
     * 查询文章管理列表
     *
     * @param ttArticle 文章管理
     * @return 文章管理集合
     */
    public List<TtArticle> selectTtArticleList(TtArticle ttArticle);

    /**
     * 新增文章管理
     *
     * @param ttArticle 文章管理
     * @return 结果
     */
    public int insertTtArticle(TtArticle ttArticle);

    /**
     * 修改文章管理
     *
     * @param ttArticle 文章管理
     * @return 结果
     */
    public int updateTtArticle(TtArticle ttArticle);

    /**
     * 删除文章管理
     *
     * @param id 文章管理主键
     * @return 结果
     */
    public int deleteTtArticleById(Long id);

    /**
     * 批量删除文章管理
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTtArticleByIds(Long[] ids);

    List<ArticleVO> getListByTypeId(@Param("typeId") Integer typeId, @Param("time") String time);

    /**
     * 根据文章标题关键字进行检索
     *
     * @param
     * @return
     */
    List<ArticleVO> getArticleByKeyWords(@Param("keyWords") String keyWords, @Param("timeStamp") String timeStamp);


    /**
     * 根据文章id列表查询出所有文章列表
     *
     * @param listIds
     * @return
     */
    List<ArticleVO> getArticleByArticleIds(List<Integer> listIds);
}
